package com.quartz.mq.business.service;

import com.quartz.mq.business.entity.Account;
import com.quartz.mq.business.entity.Order;
import com.quartz.mq.business.enums.ProcessStatusEnum;

import java.util.List;

/**
 * <h3>partitionjob</h3>
 * <p>RabbitQuartzService rabbitmq</p>
 *
 * @author : hduong
 * @version : 1.0
 * @date : 2019-12-19 17:51
 **/
public interface RabbitQuartzService {

    List<Account> listAccout();

    Account createAccount(String name, Double balance);

    void deleteAccount(Long id);

    Order createOrder(Long accountId, Double price);

    List<Order> listOrder();

    Order payOrder(Long orderId);

    List<Order> getAllOrdersToBeProcessed();

    void processOrder(Long orderId);

    void changeOrderProcessStatus(Long orderId, ProcessStatusEnum newProcessStatus);

}
